Some graphical applications (or their underlying network protocols) make use of a client-server architecture whereby graphical data, comprising a series of frames each representing an image, are rendered (i.e. generated) on a server computer but transported over a network for display on a remote client computer. One example of the server-client model occurs in the display of two-dimensional (2D) images derived from a three-dimension (3D) model, such as a 3D visualisation of seismic and other geophysical data. Such 3D visualisations generate huge datasets which are difficult to distribute in an efficient manner, particularly over data networks. To address this difficulty, 2D images are rendered from the 3D visualisation at the server for distribution to one or more remote clients where the 2D images can be viewed
Due to bandwidth limitations, most systems employ some form of image compression in order to significantly reduce the amount of data that needs to be sent to the client for display of the image. Image compression may be lossless (where there are no visible changes between the uncompressed image and the original) or lossy (where there are visible changes between the uncompressed image and the original).
For lossy compression, the user may want to retain a similar degree of image quality for different sizes of image. For some compression schemes this is achieved by setting a threshold value causing all images regardless of size to be compressed to a similar level of detail. However, many compression schemes are not able to use a threshold value. Furthermore, many systems only provide control of the size of the resulting compressed image rather than the image quality.
It is therefore desirable to provide a method and system for determining image compression values appropriate to achieving consistent image quality for images of different sizes.
According to certain example embodiments, there is provided a method of controlling graphical data compression levels for a series of images of varying area in order to maintain a consistent image quality, irrespective of image area. An image of a first area is compressed using a first compression value. When the first image is decompressed for display, it is associated with a first image quality.
When a new image with a different area is generated, it is compressed using a new compression value derived from the first compression value. The new compression value is suitable for delivering an image quality, when the new image is decompressed for display, substantially the same as the image quality of the first image.
An image processing system comprises an image processor configured in use to provide: (a) a rendering engine for rendering a series of images each with a respective image area; (b) a compression value generator for calculating for each image of the series starting from the second image of the series a compression value for compressing the respective image, in which each compression value is calculated from the ratio of the area of the image to the area of the previous image in the series and the compression value for the previous image in the series; (c) an encoder for compressing the series of images using the respective calculated compression values to produces a corresponding series of compressed images for decompression for display with a substantially constant image quality level.